ConceptFactory: Facilitate 3D Object Knowledge Annotation with Object Conceptualization
Intro
本文提出ConceptFactory,这是一套全新框架,通过广义概念(跨物体类别共享的几何结构模板)识别三维物体(即物体概念化),提升三维物体知识的标注效率 (语义、位姿以及可交互性标注)
object conceptualization: Describe the shape of an object with generalized geometric concepts, or in other words, object conceptualization.
两个部分
-
ConceptFactory Suite 一个统一工具箱,采用标准概念模板库(STL-C),驱动基于网页的对象概念化平台 263 个概念模板
-
ConceptFactory Asset 一个通过 ConceptFactory 套件获取的大量概念化对象集合 包含来自 39 个类别的 4380 个物体,共计 39000 个模板实例、295000 个参数。
Related Work
把 3D 椅子从多个角度渲染成 2D 图片(正视图、侧视图、俯视图…) 在若干 2D 图片标注 然后反投影得到 3D 标注
人工 做网格拆分 + 合并 最后,每一个独立的网格块是一个部件
ConceptFactory Suite
Standard Concept Template Library 简称STL-C
- 几何模板:参数化的基础几何体模板,如圆柱模板
- 概念模板:由多个几何模板(或其他概念模板)按约束组合而成的,如把手
该库收纳了大量日常生活中高频出现的通用几何模板。每一个概念模板都以 Python 类模板的形式实现;输入模板参数后,即可实例化为一个能够描述三维形状的概念实例
图中就是不同几何模板 以及不同参数化后得到的 概念实例

目前已经在 STL‑C 中一共收录了 263 个互不重复的概念模板。经测试,这些模板能够完整覆盖 39 个类别下的 4380 个物体
Conceptualization Platform
流程
- 按照结构层级,将每一类物体拆分为若干部件
- 针对物体的每一个部件,STL‑C 库中挑选一个内置概念与该部件几何结构最匹配的模板
- 接着精细地为模板设置参数,使生成的概念实例能够有效近似该部件
- 随后通过参数化空间变换,对这些经过参数化的模板实例进行空间摆放,让它们分别与物体上对应的部件对齐,最终完成对该物体的概念化描述
此时几何细节还存在偏差 借鉴 BPS 算法的思路
- 对物体表面每个点 x,在概念实例 mesh 表面找最近点 y
- 算位移 d = x − y
- 对概念 mesh 的每个顶点,把附近的位移 d 按距离加权平均,算出顶点该移动多少
- 移动顶点,mesh 变形,贴近真实物体

概念化平台
网页端交互界面 coming soon
如图

参数优化器
概念实例可通过以下两步完成可微渲染
- 对内部子几何模板的参数执行可微运算
- 对各个几何模板的默认模板形状执行可微形变(通过对顶点做可微的形变操作(缩放、平移、ReLU 截断),把默认形状变成参数指定的形状)
采用 Point2Mesh 损失函数,大量繁琐的参数调节工作可以自动完成,用户仅需对优化效果不佳的参数进行精细化调整即可
Point2Mesh 损失函数
- 点云:
共 N 个点(真实物体部件)
- 网格 M,由 K 个三角面组成:
(概念实例)
- 点 p 到三角面 f 的最短欧氏距离:
点到面
点云中每个点,找到网格上离它最近的面,算距离,取平均:
面到点
网格上每个面,找到点云中离它最近的点,算距离,取平均:
总损失
Procedural Knowledge Annotation
具体标注机制
两类知识类型
- 基于区域的知识
- 基于位姿的知识

(a‑b) 基于区域的知识(如语义标签、可操作区域)通过区域判别函数实现。(c‑d) 基于位姿的知识(如部件位姿、抓取位姿)借助局部坐标系到世界坐标系的坐标变换实现
*抓取区域不是人工涂的,而是用数学不等式定义的:在局部坐标系下,满足长 / 宽 / 高范围内的点就是可抓取的
标注对比 左边传统方法 右边本文

Experiment
| Semantic Segmentation | Cross Category Segmentation | Part Pose Estimation | |||||||
|---|---|---|---|---|---|---|---|---|---|
| PointTransformer | PointNet++ | GAPartNet | |||||||
| mAcc | mIoU | mAcc | mIoU | mAP | mAP 50 | mIoU | A 5 | A 10 | |
| Original | 90.0 | 75.4 | 88.8 | 67.2 | 30.0 | 37.7 | 42.6 | 29.1 | 55.7 |
| ConFac | 89.8 | 75.6 | 88.8 | 67.3 | 30.6 | 38.5 | 42.8 | 30.3 | 56.9 |
| ∆ | -0.2 | 0.2 | 0.0 | 0.1 | 0.6 | 0.8 | 0.2 | 1.2 | 1.2 |
用 ConceptFactory 自动生成的标注训练出来的模型,在跨类别泛化任务上,和用人工原始标注训练的效果一样好 甚至还略高一点